package com.ttj.domain.oracle.gen;

import java.util.ArrayList;
import java.util.List;

public class OrderRecDetailCriteria {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected Integer mysqlOffset;

    protected Integer mysqlLength;

    public OrderRecDetailCriteria() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * @param mysqlOffset 
	 *            指定返回记录行的偏移量<br>
	 *            mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public void setMysqlOffset(Integer mysqlOffset) {
        this.mysqlOffset=mysqlOffset;
    }

    /**
     * @param mysqlLength 
	 *            指定返回记录行的最大数目<br>
	 *            mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public Integer getMysqlOffset() {
        return mysqlOffset;
    }

    /**
     * @param mysqlOffset 
	 *            指定返回记录行的偏移量<br>
	 *            mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public void setMysqlLength(Integer mysqlLength) {
        this.mysqlLength=mysqlLength;
    }

    /**
     * @param mysqlLength 
	 *            指定返回记录行的最大数目<br>
	 *            mysqlOffset= 5,mysqlLength=10;  // 检索记录行 6-15
     */
    public Integer getMysqlLength() {
        return mysqlLength;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("ORDER_ID is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("ORDER_ID is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(Integer value) {
            addCriterion("ORDER_ID =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(Integer value) {
            addCriterion("ORDER_ID <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(Integer value) {
            addCriterion("ORDER_ID >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ORDER_ID >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(Integer value) {
            addCriterion("ORDER_ID <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(Integer value) {
            addCriterion("ORDER_ID <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<Integer> values) {
            addCriterion("ORDER_ID in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<Integer> values) {
            addCriterion("ORDER_ID not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(Integer value1, Integer value2) {
            addCriterion("ORDER_ID between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ORDER_ID not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andStockIdIsNull() {
            addCriterion("STOCK_ID is null");
            return (Criteria) this;
        }

        public Criteria andStockIdIsNotNull() {
            addCriterion("STOCK_ID is not null");
            return (Criteria) this;
        }

        public Criteria andStockIdEqualTo(Integer value) {
            addCriterion("STOCK_ID =", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdNotEqualTo(Integer value) {
            addCriterion("STOCK_ID <>", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdGreaterThan(Integer value) {
            addCriterion("STOCK_ID >", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("STOCK_ID >=", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdLessThan(Integer value) {
            addCriterion("STOCK_ID <", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdLessThanOrEqualTo(Integer value) {
            addCriterion("STOCK_ID <=", value, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdIn(List<Integer> values) {
            addCriterion("STOCK_ID in", values, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdNotIn(List<Integer> values) {
            addCriterion("STOCK_ID not in", values, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdBetween(Integer value1, Integer value2) {
            addCriterion("STOCK_ID between", value1, value2, "stockId");
            return (Criteria) this;
        }

        public Criteria andStockIdNotBetween(Integer value1, Integer value2) {
            addCriterion("STOCK_ID not between", value1, value2, "stockId");
            return (Criteria) this;
        }

        public Criteria andRNumIsNull() {
            addCriterion("R_NUM is null");
            return (Criteria) this;
        }

        public Criteria andRNumIsNotNull() {
            addCriterion("R_NUM is not null");
            return (Criteria) this;
        }

        public Criteria andRNumEqualTo(Integer value) {
            addCriterion("R_NUM =", value, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumNotEqualTo(Integer value) {
            addCriterion("R_NUM <>", value, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumGreaterThan(Integer value) {
            addCriterion("R_NUM >", value, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("R_NUM >=", value, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumLessThan(Integer value) {
            addCriterion("R_NUM <", value, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumLessThanOrEqualTo(Integer value) {
            addCriterion("R_NUM <=", value, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumIn(List<Integer> values) {
            addCriterion("R_NUM in", values, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumNotIn(List<Integer> values) {
            addCriterion("R_NUM not in", values, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumBetween(Integer value1, Integer value2) {
            addCriterion("R_NUM between", value1, value2, "rNum");
            return (Criteria) this;
        }

        public Criteria andRNumNotBetween(Integer value1, Integer value2) {
            addCriterion("R_NUM not between", value1, value2, "rNum");
            return (Criteria) this;
        }

        public Criteria andYNumIsNull() {
            addCriterion("Y_NUM is null");
            return (Criteria) this;
        }

        public Criteria andYNumIsNotNull() {
            addCriterion("Y_NUM is not null");
            return (Criteria) this;
        }

        public Criteria andYNumEqualTo(Integer value) {
            addCriterion("Y_NUM =", value, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumNotEqualTo(Integer value) {
            addCriterion("Y_NUM <>", value, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumGreaterThan(Integer value) {
            addCriterion("Y_NUM >", value, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("Y_NUM >=", value, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumLessThan(Integer value) {
            addCriterion("Y_NUM <", value, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumLessThanOrEqualTo(Integer value) {
            addCriterion("Y_NUM <=", value, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumIn(List<Integer> values) {
            addCriterion("Y_NUM in", values, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumNotIn(List<Integer> values) {
            addCriterion("Y_NUM not in", values, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumBetween(Integer value1, Integer value2) {
            addCriterion("Y_NUM between", value1, value2, "yNum");
            return (Criteria) this;
        }

        public Criteria andYNumNotBetween(Integer value1, Integer value2) {
            addCriterion("Y_NUM not between", value1, value2, "yNum");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("PRICE is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("PRICE is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(Integer value) {
            addCriterion("PRICE =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(Integer value) {
            addCriterion("PRICE <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(Integer value) {
            addCriterion("PRICE >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("PRICE >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(Integer value) {
            addCriterion("PRICE <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(Integer value) {
            addCriterion("PRICE <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<Integer> values) {
            addCriterion("PRICE in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<Integer> values) {
            addCriterion("PRICE not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(Integer value1, Integer value2) {
            addCriterion("PRICE between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("PRICE not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andFPriceIsNull() {
            addCriterion("F_PRICE is null");
            return (Criteria) this;
        }

        public Criteria andFPriceIsNotNull() {
            addCriterion("F_PRICE is not null");
            return (Criteria) this;
        }

        public Criteria andFPriceEqualTo(Double value) {
            addCriterion("F_PRICE =", value, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceNotEqualTo(Double value) {
            addCriterion("F_PRICE <>", value, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceGreaterThan(Double value) {
            addCriterion("F_PRICE >", value, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("F_PRICE >=", value, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceLessThan(Double value) {
            addCriterion("F_PRICE <", value, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceLessThanOrEqualTo(Double value) {
            addCriterion("F_PRICE <=", value, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceIn(List<Double> values) {
            addCriterion("F_PRICE in", values, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceNotIn(List<Double> values) {
            addCriterion("F_PRICE not in", values, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceBetween(Double value1, Double value2) {
            addCriterion("F_PRICE between", value1, value2, "fPrice");
            return (Criteria) this;
        }

        public Criteria andFPriceNotBetween(Double value1, Double value2) {
            addCriterion("F_PRICE not between", value1, value2, "fPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceIsNull() {
            addCriterion("Y_PRICE is null");
            return (Criteria) this;
        }

        public Criteria andYPriceIsNotNull() {
            addCriterion("Y_PRICE is not null");
            return (Criteria) this;
        }

        public Criteria andYPriceEqualTo(Double value) {
            addCriterion("Y_PRICE =", value, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceNotEqualTo(Double value) {
            addCriterion("Y_PRICE <>", value, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceGreaterThan(Double value) {
            addCriterion("Y_PRICE >", value, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceGreaterThanOrEqualTo(Double value) {
            addCriterion("Y_PRICE >=", value, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceLessThan(Double value) {
            addCriterion("Y_PRICE <", value, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceLessThanOrEqualTo(Double value) {
            addCriterion("Y_PRICE <=", value, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceIn(List<Double> values) {
            addCriterion("Y_PRICE in", values, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceNotIn(List<Double> values) {
            addCriterion("Y_PRICE not in", values, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceBetween(Double value1, Double value2) {
            addCriterion("Y_PRICE between", value1, value2, "yPrice");
            return (Criteria) this;
        }

        public Criteria andYPriceNotBetween(Double value1, Double value2) {
            addCriterion("Y_PRICE not between", value1, value2, "yPrice");
            return (Criteria) this;
        }

        public Criteria andRateIsNull() {
            addCriterion("RATE is null");
            return (Criteria) this;
        }

        public Criteria andRateIsNotNull() {
            addCriterion("RATE is not null");
            return (Criteria) this;
        }

        public Criteria andRateEqualTo(Double value) {
            addCriterion("RATE =", value, "rate");
            return (Criteria) this;
        }

        public Criteria andRateNotEqualTo(Double value) {
            addCriterion("RATE <>", value, "rate");
            return (Criteria) this;
        }

        public Criteria andRateGreaterThan(Double value) {
            addCriterion("RATE >", value, "rate");
            return (Criteria) this;
        }

        public Criteria andRateGreaterThanOrEqualTo(Double value) {
            addCriterion("RATE >=", value, "rate");
            return (Criteria) this;
        }

        public Criteria andRateLessThan(Double value) {
            addCriterion("RATE <", value, "rate");
            return (Criteria) this;
        }

        public Criteria andRateLessThanOrEqualTo(Double value) {
            addCriterion("RATE <=", value, "rate");
            return (Criteria) this;
        }

        public Criteria andRateIn(List<Double> values) {
            addCriterion("RATE in", values, "rate");
            return (Criteria) this;
        }

        public Criteria andRateNotIn(List<Double> values) {
            addCriterion("RATE not in", values, "rate");
            return (Criteria) this;
        }

        public Criteria andRateBetween(Double value1, Double value2) {
            addCriterion("RATE between", value1, value2, "rate");
            return (Criteria) this;
        }

        public Criteria andRateNotBetween(Double value1, Double value2) {
            addCriterion("RATE not between", value1, value2, "rate");
            return (Criteria) this;
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table ORDER_REC_DETAIL
     *
     * @mbg.generated do_not_delete_during_merge Wed Jul 12 08:41:20 CST 2017
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}